package com.health.tools;

import java.text.SimpleDateFormat;
import java.util.Date;

import com.health.R;
import com.health.model.SystemSettings;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.graphics.Typeface;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.GridView;
import android.widget.ImageButton;
import android.widget.TextView;

public class AlertHelper {
	// 时间有关的变量
	public static CalendarView calendar;
	private static ImageButton calendarLeft;
	private static TextView calendarCenter;
	public static Date calendarDate;
	private static GridView gridView;
	private static ImageButton calendarRight;
	private static SimpleDateFormat format;
	// public static WeekAdepter weekAdepter;
	// static Fragment sleepTabFragment;
	public static int year = 2015;
	/** 微软雅黑默认 */
	public static Typeface typefacenormal = Typeface.create("微软雅黑", Typeface.NORMAL);
	/** 微软雅黑粗体 */
	public static Typeface typefacebold = Typeface.create("微软雅黑", Typeface.BOLD);
	// static SharedPreferences MyPreferences = null;

	/**
	 * 弹出提示窗
	 * 
	 * @param titlestring
	 *            提示标题
	 * @param message
	 *            提示信息
	 * @param isshowcancle
	 *            是否显示取消按钮
	 * @param isshowclose
	 *            是否显示关闭按钮
	 * @param okstring
	 *            确定按钮字符
	 * @param canclestring
	 *            取消按钮字符
	 */
	public static void showTips(final Context context) {
		final AlertDialog dlg = new AlertDialog.Builder(context).setCancelable(false).create();
		dlg.show();
		Window window = dlg.getWindow();
		window.setContentView(R.layout.config_alert);
		window.clearFlags(
				WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
		window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
		// MyPreferences =
		// context.getSharedPreferences(GlobalConts.SHAREPREFRENCE_NAME,
		// Activity.MODE_PRIVATE);
		CheckBox isSelect = (CheckBox) window.findViewById(R.id.is_select);

		final EditText ftpAddress = (EditText) window.findViewById(R.id.edit_addr);
		final EditText ftpAccount = (EditText) window.findViewById(R.id.edit_account);
		final EditText ftpPassword = (EditText) window.findViewById(R.id.edit_password);
		Button save = (Button) window.findViewById(R.id.save);
		Button cancle = (Button) window.findViewById(R.id.cancle);
		ftpAddress.setFocusable(false);
		ftpAddress.setFocusableInTouchMode(false);
		ftpAccount.setFocusable(false);
		ftpAccount.setFocusableInTouchMode(false);
		ftpPassword.setFocusable(false);
		ftpPassword.setFocusableInTouchMode(false);
		isSelect.setTypeface(typefacebold);
		String ftpAddr = SPUtil.getSysSettings(context).getFtpAddress();
		if (!TextUtils.isEmpty(ftpAddr)) {
			ftpAddress.setText(ftpAddr);
		}
		if (!TextUtils.isEmpty(SPUtil.getSysSettings(context).getFtpAccount())) {
			ftpAccount.setText(SPUtil.getSysSettings(context).getFtpAccount());
		}
		if (!TextUtils.isEmpty(SPUtil.getSysSettings(context).getFtpPassword())) {
			ftpPassword.setText(SPUtil.getSysSettings(context).getFtpPassword());
		}
		isSelect.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				if (isChecked) {
					ftpAddress.setFocusable(true);
					ftpAddress.setFocusableInTouchMode(true);
					ftpAccount.setFocusable(true);
					ftpAccount.setFocusableInTouchMode(true);
					ftpPassword.setFocusable(true);
					ftpPassword.setFocusableInTouchMode(true);
				} else {
					ftpAddress.setFocusable(false);
					ftpAddress.setFocusableInTouchMode(false);
					ftpAccount.setFocusable(false);
					ftpAccount.setFocusableInTouchMode(false);
					ftpPassword.setFocusable(false);
					ftpPassword.setFocusableInTouchMode(false);
				}

			}
		});
		cancle.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				dlg.cancel();
			}
		});
		save.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// Editor editor = MyPreferences.edit();
				// SPUtil.setSysSettings(context, sysSettings);
				// editor.putString("ftpAddress",
				// ftpAddress.getText().toString());
				// editor.putString("ftpAccount",
				// ftpAccount.getText().toString());
				// editor.putString("ftpPassword",
				// ftpPassword.getText().toString());
				// editor.commit();
				
				SystemSettings sys = new SystemSettings();
				sys.setFtpAddress(ftpAddress.getText().toString());
				sys.setFtpAccount(ftpAccount.getText().toString());
				sys.setFtpPassword(ftpPassword.getText().toString());
				SPUtil.setSysSettings(context, sys);
				
				dlg.cancel();
			}
		});
	}

	// public static void showYearAndMonth(final Context context, Date date) {
	// final AlertDialog dlg = new
	// AlertDialog.Builder(context).setCancelable(false).create();
	// dlg.show();
	// dlg.setCanceledOnTouchOutside(true);
	// dlg.setOnKeyListener(new OnKeyListener() {
	//
	// @Override
	// public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event)
	// {
	// // TODO Auto-generated method stub
	// if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
	// dlg.dismiss();
	// }
	// return false;
	// }
	// });
	// Window window = dlg.getWindow();
	// window.setBackgroundDrawableResource(R.drawable.calendar_background);
	// window.setContentView(R.layout.alertdialog_day);
	// format = new SimpleDateFormat("yyyy-MM-dd");
	// // 获取日历控件对象
	// calendar = (CalendarView) window.findViewById(R.id.calendar);
	// calendar.setSelectMore(false); // 单选
	// calendarLeft = (ImageButton) window.findViewById(R.id.calendarLeft);
	// calendarCenter = (TextView) window.findViewById(R.id.calendarCenter);
	// calendarRight = (ImageButton) window.findViewById(R.id.calendarRight);
	// try {
	// // 设置日历日期
	// Date date1 = format.parse("2015-01-01");
	// calendar.setCalendarData(date1);
	// } catch (ParseException e) {
	// e.printStackTrace();
	// }
	//
	// // 获取日历中年月 ya[0]为年，ya[1]为月（格式大家可以自行在日历控件中改）
	// String[] ya = calendar.getYearAndmonth().split("-");
	// calendarCenter.setText(ya[0] + "年" + ya[1] + "月");
	// calendarLeft.setOnClickListener(new OnClickListener() {
	//
	// @Override
	// public void onClick(View v) {
	// // 点击上一月 同样返回年月
	// String leftYearAndmonth = calendar.clickLeftMonth();
	// String[] ya = leftYearAndmonth.split("-");
	// calendarCenter.setText(ya[0] + "年" + ya[1] + "月");
	// }
	// });
	//
	// calendarRight.setOnClickListener(new OnClickListener() {
	//
	// @Override
	// public void onClick(View v) {
	// // 点击下一月
	// String rightYearAndmonth = calendar.clickRightMonth();
	// String[] ya = rightYearAndmonth.split("-");
	// calendarCenter.setText(ya[0] + "年" + ya[1] + "月");
	// }
	// });
	//
	// // 设置控件监听，可以监听到点击的每一天（大家也可以在控件中根据需求设定）
	// calendar.setOnIteClickListener(new OnIteClickListener() {
	//
	// @Override
	// public void OnItemClick(Date selectedStartDate, Date selectedEndDate,
	// Date downDate) {
	// if (calendar.isSelectMore()) {
	// // Toast.makeText(getApplicationContext(),
	// // format.format(selectedStartDate)+"到"+format.format(selectedEndDate),
	// // Toast.LENGTH_SHORT).show();
	// } else {
	// String[] ye = calendar.getYearMonthAndDay(new Date()).split("-");
	// String cruntString = ye[0] + ye[1] + ye[2];
	// String[] ya = calendar.getYearMonthAndDay(downDate).split("-");
	// String downString = ya[0] + ya[1] + ya[2];
	// if (Integer.parseInt(downString) <= Integer.parseInt(cruntString)) {
	//// HistoryFragment.historyFragment.getDate(downDate);
	// ZYTZ_WenJuanActivity.zytz_WenJuanActivity.getDate(downDate);
	// dlg.dismiss();
	// } else {
	// Toast.makeText(context, "本机无法穿越", Toast.LENGTH_SHORT).show();
	// }
	// }
	//
	// }
	// });
	// }
	//
	/// *
	// public static class WeekAdepter extends BaseAdapter {
	// Date curDate;
	// public Calendar calendar;
	// Context context;
	// int[] date;
	//
	// public WeekAdepter() {
	// init();
	// }
	//
	// public WeekAdepter(Context context) {
	// this.context = context;
	// init();
	// }
	//
	// private void init() {
	// curDate = new Date();
	// calendar = Calendar.getInstance();
	// calendar.setTime(curDate);
	// date = getDate(calendar.get(Calendar.YEAR));
	// }
	//
	// public void getYear(int year) {
	// date = getDate(year);
	// }
	//
	// public void setYear(int year) {
	// AlertHelper.year = year;
	// }
	//
	// public void setDayofWeek(Date date) {
	// this.curDate = date;
	// }
	//
	// // 获得当前应该显示的年月
	// public String getYearAndmonth() {
	// calendar.setTime(curDate);
	// int year = calendar.get(Calendar.YEAR);
	// int month = calendar.get(Calendar.MONTH) + 1;
	// AlertHelper.year = year;
	// return year + "-" + month;
	// }
	//
	// public int[] getDate(int year) {
	// int weekNum = getWeekNumber(year);
	// if (weekNum == 52) {
	// date = new int[52];
	// for (int i = 0; i < 52; i++) {
	// date[i] = i + 1;
	// }
	// } else if (weekNum == 53) {
	// date = new int[53];
	// for (int i = 0; i < 53; i++) {
	// date[i] = i + 1;
	// }
	// }
	// return date;
	// }
	//
	// // 获得当前应该显示的年月日
	// public String getYearMonthAndDay() {
	// calendar.setTime(curDate);
	// int year = calendar.get(Calendar.YEAR);
	// int month = calendar.get(Calendar.MONTH) + 1;
	// int day = calendar.get(Calendar.DAY_OF_MONTH);
	// return year + "-" + month + "-" + day;
	// }
	//
	// // 获得当前应该显示的星期
	// public int getWeekOfYear() {
	// calendar.setTime(curDate);
	// int week = calendar.get(Calendar.WEEK_OF_YEAR);
	// return week;
	// }
	//
	// public int getLastWeek() {
	// calendar.setTime(curDate);
	// calendar.add(Calendar.WEEK_OF_YEAR, -1);
	// curDate = calendar.getTime();
	// return getWeekOfYear();
	// }
	//
	// public int getNextWeek() {
	// calendar.setTime(curDate);
	// calendar.add(Calendar.WEEK_OF_YEAR, 1);
	// curDate = calendar.getTime();
	// return getWeekOfYear();
	// }
	//
	// public int getWeekNumber(int year1) {
	// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	// Calendar cl = Calendar.getInstance();
	// try {
	// cl.setTime(sdf.parse(year1 + "-12-31"));
	// } catch (ParseException e) {
	// // TODO Auto-generated catch block
	// e.printStackTrace();
	// }
	// int week = cl.get(Calendar.WEEK_OF_YEAR);
	// System.out.println(week);
	// cl.add(Calendar.DAY_OF_MONTH, -7);
	// int year = cl.get(Calendar.YEAR);
	// if (week < cl.get(Calendar.WEEK_OF_YEAR)) {
	// year += 1;
	// }
	// if (week == 1) {
	// return 52;
	// } else {
	// return 53;
	// }
	//
	// }
	//
	// */ /**
	// * 得到某年某周的第一天
	// *
	// * @param year
	// * @param week
	// * @return
	// *//*
	// public String getFirstDayOfWeek(int year, int week) {
	// // Calendar c = new GregorianCalendar();
	// calendar.setTime(curDate);
	// calendar.set(Calendar.YEAR, year);
	// calendar.set(Calendar.MONTH, Calendar.JANUARY);
	// calendar.set(Calendar.DATE, 1);
	// Calendar cal = (GregorianCalendar) calendar.clone();
	// cal.add(Calendar.DATE, week * 7);
	// return getFirstDayOfWeek(cal.getTime());
	// }
	//
	// public Date getFirstDateofWeek(int year, int week) {
	// calendar.setTime(curDate);
	// calendar.set(Calendar.YEAR, year);
	// calendar.set(Calendar.MONTH, Calendar.JANUARY);
	// calendar.set(Calendar.DATE, 1);
	// Calendar cal = (GregorianCalendar) calendar.clone();
	// cal.add(Calendar.DATE, week * 7);
	// return cal.getTime();
	// }
	//
	// *//**
	// * 得到某年某周的最后一天
	// *
	// * @param year
	// * @param week
	// * @return
	// *//*
	// public String getLastDayOfWeek(int year, int week) {
	// calendar.set(Calendar.YEAR, year);
	// calendar.set(Calendar.MONTH, Calendar.JANUARY);
	// calendar.set(Calendar.DATE, 1);
	// Calendar cal = (GregorianCalendar) calendar.clone();
	// cal.add(Calendar.DATE, week * 7);
	// return getLastDayOfWeek(cal.getTime());
	// }
	//
	// *//**
	// * 取得指定日期所在周的第一天
	// *
	// * @param date
	// * @return
	// *//*
	// public String getFirstDayOfWeek(Date date) {
	// calendar.setFirstDayOfWeek(Calendar.MONDAY);
	// calendar.setTime(date);
	// calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek()); //
	// Monday
	// int year1 = calendar.get(Calendar.YEAR);
	// int month = calendar.get(Calendar.MONTH) + 1;
	// int day = calendar.get(Calendar.DAY_OF_MONTH);
	// return year1 + "/" + month + "/" + day;
	// }
	//
	// *//**
	// * 取得指定日期所在周的最后一天
	// *
	// * @param date
	// * @return
	// *//*
	// public String getLastDayOfWeek(Date date) {
	// calendar.setFirstDayOfWeek(Calendar.MONDAY);
	// calendar.setTime(date);
	// calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek() + 6); //
	// Sunday
	// int year1 = calendar.get(Calendar.YEAR);
	// int month = calendar.get(Calendar.MONTH) + 1;
	// int day = calendar.get(Calendar.DAY_OF_MONTH);
	// return year1 + "/" + month + "/" + day;
	// }
	//
	// // 上一年
	// public String clickLeftYear() {
	// calendar.setTime(curDate);
	// calendar.add(Calendar.YEAR, -1);
	// curDate = calendar.getTime();
	// return getYearAndmonth();
	// }
	//
	// // 下一年
	// public String clickRightYear() {
	// calendar.setTime(curDate);
	// calendar.add(Calendar.YEAR, 1);
	// curDate = calendar.getTime();
	// return getYearAndmonth();
	// }
	//
	// // 上一月
	// public String clickLeftMonth() {
	// calendar.setTime(curDate);
	// calendar.add(Calendar.MONTH, -1);
	// curDate = calendar.getTime();
	// return getYearAndmonth();
	// }
	//
	// // 下一月
	// public String clickRightMonth() {
	// calendar.setTime(curDate);
	// calendar.add(Calendar.MONTH, 1);
	// curDate = calendar.getTime();
	// return getYearAndmonth();
	// }
	//
	// // 上一日
	// public String clickLeftDay() {
	// calendar.setTime(curDate);
	// calendar.add(Calendar.DAY_OF_MONTH, -1);
	// curDate = calendar.getTime();
	// return getYearMonthAndDay();
	// }
	//
	// // 下一日
	//
	// public String clickRightDay() {
	// calendar.setTime(curDate);
	// calendar.add(Calendar.DAY_OF_MONTH, 1);
	// curDate = calendar.getTime();
	// return getYearMonthAndDay();
	// }
	//
	// // 设置日历时间
	// public void setCalendarData(Date date) {
	// calendar.setTime(date);
	// }
	//
	// // 获取日历时间
	// public void getCalendatData() {
	// calendar.getTime();
	// }
	//
	// // // 设置是否多选
	// // public boolean isSelectMore() {
	// // return isSelectMore;
	// // }
	// //
	// // public void setSelectMore(boolean isSelectMore) {
	// // this.isSelectMore = isSelectMore;
	// // }
	// @Override
	// public int getCount() {
	// return date.length;
	// }
	//
	// @Override
	// public Object getItem(int position) {
	// return date[position];
	// }
	//
	// @Override
	// public long getItemId(int position) {
	// return position;
	// }
	//
	// @Override
	// public View getView(int position, View convertView, ViewGroup parent) {
	// TextView textView;
	// if (convertView == null) {
	// textView = new TextView(context);
	// } else {
	// textView = (TextView) convertView;
	// }
	// textView.setText(date[position] + "");
	// textView.setTextSize(18);
	// textView.setTextColor(Color.WHITE);
	// if (weekAdepter.getWeekOfYear() == date[position]) {
	// textView.setTextColor(context.getResources().getColor(R.color.today));
	// }
	// return textView;
	// }
	//
	// }*/
	//
	//
	// public static void showExamHistory(Context context,List<SBCL_DATA> list)
	// {
	// ListView lv = new ListView(context);
	// alertListAdapter adapter = new alertListAdapter(list, context);
	// lv.setAdapter(adapter);
	// Dialog alertDialog = new AlertDialog.Builder(context).
	// setTitle("用户登录").
	// setIcon(R.drawable.ic_launcher).
	// setView(lv).
	//
	// setNegativeButton("取消",null).
	// create();
	// alertDialog.show();
	// }
	//
	// static class alertListAdapter extends BaseAdapter {
	// List<SBCL_DATA> list;
	// Context context;
	//
	//
	// public alertListAdapter(List<SBCL_DATA> list, Context context) {
	// super();
	// this.list = list;
	// this.context = context;
	// }
	//
	// @Override
	// public int getCount() {
	// // TODO Auto-generated method stub
	// return list.size();
	// }
	//
	// @Override
	// public Object getItem(int position) {
	// // TODO Auto-generated method stub
	// return list.get(position);
	// }
	//
	// @Override
	// public long getItemId(int position) {
	// // TODO Auto-generated method stub
	// return position;
	// }
	//
	// @Override
	// public View getView(int position, View convertView, ViewGroup parent) {
	// // TODO Auto-generated method stub
	// SBCL_DATA data = list.get(position);
	// TextView tv = new TextView(context);
	// TextView dateTv = new TextView(context);
	// tv.setText(data.getCL_VALUE());
	// dateTv.setText(data.getCL_TIME());
	// if (convertView == null) {
	// LinearLayout ll = new LinearLayout(context);
	// LinearLayout.LayoutParams params = new
	// LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
	// LayoutParams.WRAP_CONTENT);
	// ll.setLayoutParams(params);
	// ll.setOrientation(LinearLayout.HORIZONTAL);
	// ll.addView(tv);
	// ll.addView(dateTv);
	// convertView = ll;
	// }
	// return convertView;
	// }
	//
	// }
}
